Systems and methods for providing enhanced telephone services

ABSTRACT

A switching platform comprises a first, second, and third circuit. The first circuit is adapted for recognizing a first set of tones generated by art originating telephone line. The originating telephone line is associated with a call origin telephone number. The first set of tones represents a request for a telephone conference over a conference line. The second circuit is adapted for determining whether the call origin telephone number is included in a set of defined telephone numbers permitted to connect to the conference line without further authentication. The third circuit is adapted for establishing a telephone connection between the originating telephone line and the conference line if the set of defined telephone numbers includes the call origin telephone number.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/692,048, filed on Mar. 27, 2007, which is a continuation of U.S.patent application Ser. No. 11/673,528 filed on Feb. 9, 2007, thedisclosures of which are hereby incorporated by reference in theirentirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

TECHNICAL FIELD

This invention relates generally to methods and systems for routingtelephone calls, and more particularly provides for management ofmultiple telephone lines and services corresponding to a single person,entity, or group and for improving the utility and efficiency ofmultiple telephone lines in such circumstances.

BACKGROUND

The number of ways to deliver telephone service continues to grow.“Plain old telephone service” (POTS), comprising analog telephonesconnected via pairs of copper wires to the public switched telephonenetwork (PSTN), is now complemented by, for example, cellular wirelesstelephony, voice over internet protocol (VoIP), WiFi VoIP clients, andsatellite-based telephony, among other services. A consequence is thatpeople can remain in contact in places and circumstances where and whenit was previously impossible.

Because people can be reachable, however, more and more people areexpected to do so. Each form of telephone service can require a separatetelephone number, line, or both, and the result can be that a callermust attempt calls to several different numbers before reaching thedesired person. It is conceivable, for example, that a single person mayhave one phone number at work, one or more phone numbers at home, apersonal mobile phone number, a work mobile phone number, and a phonenumber corresponding to a VoIP softphone.

FIG. 1 is a block diagram illustrating interconnected components of atelephone network 100, such as may be found in the prior art. Thenetwork 100 includes the public switched telephone network (“PSTN”) 105,which is the worldwide set of interconnected telephone networks thatdeliver fixed telephone services to the general public and are usuallyaccessed by telephones and private branch exchanges (“PBX”),transmitting voice, other audio, video, and data signals.

The PSTN 105 comprises a plurality of interconnected switches. The PSTN105 is formed from the interconnection of e.g., third-party switch 106,provider switch 107, and other switches (not pictured) within the PSTN105. Fast digital links, referred to as “trunks” 108, connect switchesin most of the PSTN 105, although some older analog equipment remains inuse.

To connect something, e.g., the provider's switch 107, to the PSTN 105,typically means to connect it via a trunk 108 to another switch (notpictured) within the PSTN. Consistent with the usage common in the art,however, systems will be described herein as connected to the PSTN 105as such, with the existence of a plurality of interconnected switches(not pictured) within the PSTN 105 left implicit. FIG. 1 accordinglyshows the third-party switch 106 and provider's switch 107 separate fromthe PSTN 105, although they are part of it.

The PSTN 105 comprises analog phones, which participate in the PSTN 105via switches. As depicted in FIG. 1, an analog phone 110 connects via apair of copper wires 111 to the third-party switch 106. Similarly, otheranalog phones 112 connect via pairs of copper wires 113 to theprovider's switch 107. Because they exist on the edges of the PSTN 105,analog phones may be referred to as “edge devices.”

An analog phone 112 is so called because it sends and receives analogelectrical signals that represent voice data. Internally, however, thePSTN 105 primarily uses digital switches and digital trunks. Thus, aprovider's switch 107 converts between the analog data used by theanalog phone 112 a and the digital data used internally by the switch107 and exchanged within the PSTN 105.

Although not depicted in FIG. 1, switches within the PSTN 105 exist in ahierarchy. At the lowest level of the hierarchy are switches, such asthe third-party switch 106 and the provider's switch 107, that connectboth to the PSTN 105 and to analog telephones. For historical reasons,these switches, which connect both to edge devices and to otherswitches, are often called “class 5 switches.” A single class 5 switchmay serve hundreds or thousands of telephone lines.

Higher-level switches (not pictured) may connect only to other switchesand may be used, e.g., to establish a connection between differentgeographic areas. To handle telephone calls between differentmetropolitan areas, an inter-exchange carrier (“IXC”) connects to thePSTN 105 directly or indirectly. An IXC maintains its own facilities,such as, e.g., trunks and switches (not pictured), to route telephonecalls. A provider 115 of telecommunications services may have its ownIXC facilities 121 and may connect to the PSTN 105 directly or, asdepicted in FIG. 1, through an interface and control system 125. Athird-party carrier may also provide an IXC 120, which may connectdirectly to the PSTN 105.

To enable forms of telephone service other than POTS to interoperatewith the PSTN 105, a provider 115 of telecommunications services mayconnect, e.g., one or more switches, gateways, or both to the PSTN 105.As depicted in FIG. 1, a provider 115 has connected a switch 107 to thePSTN 105. Besides the connections 113 to analog phones 112, theprovider's switch 107 has a connection via a dedicated digital trunk 116to a private branch exchange (“PBX”) 121. A PBX 121 may provideswitching, signaling, and/or analog-to-digital conversion functions formultiple analog phones 122, digital phones 123, or both and typicallyexists within a large organization with many telephone lines. A PBX 121may allow calling within the organization to take place without use ofany facilities of the PSTN 105.

A provider 115 may use an interface (or gateway) system 125 to bridgetelephony over the PSTN 105 and VoIP transmitted across apacket-switched data network 126, such as the Internet. The interfacesystem 125 connects to the IP network 126, e.g., via an Ethernet cable127 connected to a router (not pictured). A VoIP client, such as, e.g.,a residential analog telephone adapter 128 or a commercial VoIP PBX 129also connects to the IP network 126, exchanging data packets with theinterface system 125. Other VoIP clients may use the network 126, suchas a VoIP client 130 that uses WiFi to connect wirelessly to the network126, or a computer program (called a “soft client”) that executes on anetworked computer 131.

The interface system 125 also connects to the PSTN 105 via a trunk 108c. The interface system 125 supports calls among VoIP clients by, e.g.,providing directory and/or addressing information. The interface system125 also enables calls to cross between the PSTN 105 and the IP network126 by, e.g., translating data and signaling protocols.

Other services may also be provided through the PSTN 105. For example, aprovider of wireless telephone services 135 may also connect to the PSTN105 through a digital trunk 108 e.

A telephone call may begin from, e.g., an analog phone 112 a connectedto the provider's switch 107. The switch 107 detects the dialed numberand establishes the call. If the destination of the call is anotheranalog phone 112 b connected to the provider's switch, the switch routesthe call using an internal trunk (not pictured). Otherwise, the switchroutes the call through the PSTN 105, e.g., directly to a third-party'sswitch 106 or via the provider's IXC 121 or a third party's IXC 120.

The PSTN 105 is a circuit-switched network, which typically means thatit reserves the necessary bandwidth all along the route taken by a callin progress, even when the call does not need all of the reservedbandwidth. Multiplexing techniques, which are well known in the art, areused to send multiple digitized telephone calls simultaneously over thesame trunk 108. Switches within the PSTN 105 exchange signalinginformation used to, e.g., information used to create, route, terminate,and account for telephone calls (among other functions) over a path thatis physically or logically distinct from the data paths, and mostcommonly do so using the protocol known in the art as Signaling System#7 (“SS7”).

SUMMARY

Systems, methods, and computer program products are provided for use inconjunction with multiple telephone lines and providers. According toembodiments of the invention, a subscriber to telephone services or agroup of subscribers may be reached on multiple telephone lines from asingle dial-in number; calls in progress may be transferred seamlesslyfrom one line associated with a subscriber to another; and group callingfeatures may be enhanced.

In accordance with an embodiment, the present invention provides amethod comprising recognizing, at a switch, a first set of tonesgenerated by an originating telephone line. The originating telephoneline is associated with a call origin telephone number. The first set oftones represents a request for a telephone conference over a conferenceline. The method also includes determining, at the switch, whether thecall origin telephone number is included in a set of defined telephonenumbers permitted to connect to the conference line without furtherauthentication. The method further includes establishing a telephoneconnection between the originating telephone line and the conferenceline if the set of defined telephone numbers includes the call origintelephone number.

The method may also include, upon determining that the set of definedtelephone numbers does not include the call origin telephone number,sending a challenge to the originating telephone line, recognizing, atthe switch, a second set of tones generated by the originating telephoneline representing entry of a response, and determining, at the switch,whether the entered response satisfies the challenge. The method mayfurther include determining that the challenge is not satisfied andtherefore not establishing the telephone connection.

Upon determining that the entered response satisfied the challenge, themethod may further include determining whether the conference is inprogress. Upon determining that the conference is in progress, themethod may include establishing the telephone connection between theoriginating telephone line and the conference line. Upon determiningthat the conference is not in progress, the method may also includeinitializing the conference, and establishing the telephone connectionbetween the originating line and the conference line.

Furthermore, the method may include identifying, at the switch, aparticipant number to be associated with the conference, and initiatingestablishment of a participant connection between the conference lineand the participant telephone line. The method may also includerecognizing, at the switch, that the participant has answered theparticipant telephone line, and determining whether the set of definedtelephone numbers includes the participant number. The method mayinclude establishing the participant connection upon determining thatthe set of defined telephone numbers includes the participant number.

Moreover, the method may include recognizing, at the switch, that theparticipant has answered the participant telephone line, sending achallenge to the participant telephone line, and awaiting theparticipant to satisfy the challenge. The method may also includedetermining that the challenge is not satisfied and therefore notestablishing the participant connection and/or establishing theparticipant connection upon the participant's satisfying the challenge.

Upon having established the telephone connection, the method may includerecognizing, at the switch, a third set of tones generated by theoriginating telephone line. The third set of tones may represent acommand to establish an additional participant connection between theconference line and an additional participant line associated with anadditional participant number and with an additional participant. Themethod may also include determining, at the switch, whether theconference is in progress and whether the set of defined telephonenumbers includes the additional participant number. The method mayfurther include establishing the additional participant connection uponhaving determined that the conference is in progress and that the set ofdefined telephone numbers includes the additional participant number.

Moreover, upon having established the telephone connection, the methodmay include recognizing, at the switch, a third set of tones generatedby the originating telephone line. The third set of tones may representa command to establish an additional participant connection between theconference line and an additional participant line associated with anadditional participant number and with an additional participant. Themethod may also include determining, at the switch, whether theconference is in progress, sending a challenge to the additionalparticipant line upon having determined that the conference is inprogress, and awaiting the additional participant to satisfy thechallenge. Furthermore, the method may include establishing theadditional participant connection upon the additional participant'ssatisfying the challenge and not establishing the additional participantconnection upon determining that the challenge is not satisfied.

In accordance with another embodiment, the present invention provides aswitching platform comprising a first, second, and third circuit. Thefirst circuit is adapted for recognizing a first set of tones generatedby an originating telephone line. The originating telephone line isassociated with a call origin telephone number. The first set of tonesrepresents a request for a telephone conference over a conference line.The second circuit is adapted for determining whether the call origintelephone number is included in a set of defined telephone numberspermitted to connect to the conference line without furtherauthentication. The third circuit is adapted for establishing atelephone connection between the originating telephone line and theconference line if the set of defined telephone numbers includes thecall origin telephone number.

Such switching platform may further include a fourth, fifth, and sixthcircuit. The fourth circuit may be adapted for sending a challenge tothe originating telephone line. The fifth circuit may be adapted forrecognizing a second set of tones generated by the originating telephoneline representing entry of a response. The sixth circuit may be adaptedfor determining whether the entered response satisfies the challenge.The switching platform may further include a seventh circuit forestablishing the telephone connection upon the sixth circuit'sdetermining that the challenge is satisfied and for not establishing thetelephone connection upon the sixth circuit's determining that thechallenge is not satisfied.

The switching platform may also include a seventh circuit fordetermining whether the conference is in progress. In some embodiments,the switching platform may include a seventh circuit for initializingthe conference. Such embodiments may further include an eighth circuitfor establishing the telephone connection upon the seventh circuit'shaving initialized the conference. The seventh circuit may be adaptedfor initializing the conference by allocating and/or initializing one ormore data structures representing the conference. The switching platformmay also include an eighth circuit for identifying a participant numberto be associated with the conference. The switching platform may furtherinclude a ninth circuit for initiating establishment of a participantconnection between the conference line and the participant telephoneline. The switching platform may also include a tenth, eleventh, andtwelfth circuit. The tenth circuit may be adapted for recognizing thatthe participant has answered the participant telephone line. In someembodiments, the eleventh circuit may be adapted for determining whetherthe set of defined telephone numbers includes the participant number. Inother embodiments, the eleventh circuit may be adapted for sending achallenge to the participant telephone line. In some embodiments, thetwelfth circuit may be adapted for establishing the participantconnection upon the eleventh circuit's determining that the set ofdefined telephone numbers includes the participant number. In otherembodiments, the twelfth circuit may be adapted for awaiting theparticipant to satisfy the challenge.

The switching platform may also include a thirteenth and fourteenthcircuit. The thirteenth circuit may be adapted for determining whetherthe challenge is satisfied. The fourteenth circuit may be adapted forestablishing the participant connection upon the thirteenth circuitsdetermining that the challenge is satisfied and for not establishing theparticipant connection upon the thirteenth circuit's determining thatthe challenge is not satisfied.

Some embodiments of the switching platform may include a fourth, fifth,sixth, and seventh circuit. In such embodiments, the fourth circuit maybe adapted for recognizing, upon having established the telephoneconnection, a third set of tones generated by the originating telephoneline. The third set of tones representing a command to establish anadditional participant connection between the conference line and anadditional participant line associated with an additional participantnumber and with an additional participant. The fifth circuit may beadapted for determining whether the conference is in progress. In someembodiments, the sixth circuit may be adapted for determining whetherthe set of defined telephone numbers includes the additional participantnumber. The seventh circuit may be adapted for establishing theadditional participant connection upon having determined that theconference is in progress and that the set of defined telephone numbersincludes the additional participant number. In other embodiments, thesixth circuit may be adapted for sending a challenge to the additionalparticipant line upon having determined that the conference is inprogress, and the seventh circuit may be adapted for awaiting theadditional participant to satisfy the challenge.

The switching platform may further include an eighth and a ninthcircuit. The eighth circuit may be adapted for determining whether thechallenge is satisfied. The ninth circuit may be adapted forestablishing the additional participant connection upon the eighthcircuit's determining that the challenge is satisfied and for notestablishing the additional participant connection upon the eighthcircuit's determining that the challenge is not satisfied.

In accordance with yet another embodiment, the present inventionprovides a system comprising means for recognizing, at a switch, a firstset of tones generated by an originating telephone line. The originatingtelephone line is associated with a call origin telephone number. Thefirst set of tones represents a request for a telephone conference overa conference line. The system also includes means for determining, atthe switch, whether the call origin telephone number is included in aset of defined telephone numbers permitted to connect to the conferenceline without further authentication. The system further includes meansfor establishing a telephone connection between the originatingtelephone line and the conference line if the set of defined telephonenumbers includes the call origin telephone number.

In accordance with a further embodiment the present invention provides amethod comprising sending, from an originating telephone line associatedwith a call origin telephone number, a first set of tones representing arequest for a telephone conference over a conference line. The methodalso includes recognizing, at a switch, the first set of tones, anddetermining, at the switch, whether the call origin telephone number isincluded in a set of defined telephone numbers permitted to connect tothe conference line without further authentication. The method furtherincludes establishing a telephone connection between the originatingtelephone line and the conference line if the set of defined telephonenumbers includes the call origin telephone number.

In these embodiments, various attributes may be present. The determiningmay include searching a database management system. The challenge mayinclude a prompt to enter a pass code. The participant number may beassociated with a participant telephone line and with a participant. Theparticipant number may exclude the call origin telephone number.Initializing the conference may include allocating and/or initializing,at the switch, one or more data structures representing the conference.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of components of a telephone network such asmay be found in the prior art.

FIG. 2 is a block diagram of an enhanced service platform, according toan embodiment of the invention.

FIG. 3 is a block diagram of components of a telephone network thatincludes an enhanced service platform, according to an embodiment of theinvention.

FIG. 4 is a block diagram illustrating details of a computer system.

FIG. 5 is a flowchart illustrating a method of operating simultaneousringing according to an embodiment of the invention.

FIG. 6 is a flowchart illustrating a method of seamless jumping of atelephone call according to an embodiment of the invention.

FIG. 7 is a flowchart illustrating a method of conference callingaccording to an embodiment of the invention.

DETAILED DESCRIPTION

The following description is provided to enable any person skilled inthe art to make and use the invention and is provided in the context ofa particular application. Various modifications to the embodiments arepossible, and the generic principles defined herein may be applied tothese and other embodiments and applications without departing from thespirit and scope of the invention. Thus, the invention is not intendedto be limited to the embodiments and applications shown, but is to beaccorded the widest scope consistent with the principles, features andteachings disclosed herein.

FIG. 2 depicts an exemplary system 150, referred to herein as anEnhanced Service Platform 150, which comprises one or more systems thata provider 125 may implement to manage VoIP telephony and/or to providea gateway between circuit-switched and packet-switched telephony. AnEnhanced Service Platform 150 as depicted in FIG. 2 may provide certainadditional functions according to an embodiment of the invention.

As depicted in FIG. 2, the components of the Enhanced Service Platform150 are connected to one another by one or more data networks 151.Although depicted as a single network 151 in a star topology, oneskilled in the art will, recognize that other network topologies and/orcombinations of networks may connect the components to one another.

In an embodiment of the invention, the Enhanced Service Platform 150includes a media gateway 155, which connects internally to the network151 and, via a digital trunk 108 c, to the PSTN 105. The EnhancedService Platform also includes a session border controller 156 thatconnects to both the internal network 151 and to the IP network 126.According to an embodiment of the invention, other components of theEnhanced Service Platform 150, connected via the internal network 151,may include, e.g., a VoIP application server 157, a database managementsystem 158, a Web server 159, a media server 160, and a media gatewaycontroller 170.

In the depicted embodiment of the invention, the media gatewaycontroller 170 includes a plurality of modules. A supervisory module 175provides logic that directs the functioning of the media gatewaycontroller 170 and its other modules. A call accounting module 176provides logic that gathers and stores information about calls, e.g.,for billing, performance monitoring, network security, etc. Othermodules may provide logic supporting services such as Caller ID 177,simultaneous ringing 178 (described in greater detail with reference toFIG. 5), seamless call jumping 179 (described in greater detail withreference to FIG. 6), and conference calling 180 (described in greaterdetail with reference to FIG. 7). The media gateway controller maycontain other modules (not pictured) with other functions in addition toor instead of some or all of the depicted modules.

According to an embodiment of the invention, the media gateway 155,which may sometimes be referred to as a “softswitch,” switches betweenand within circuit-switched networks, such as the PSTN 105, andpacket-switched networks, such as the IP network 126. The media gateway155 may be configured to translate data and/or control signals betweendifferent protocols that may be used on the different networks.

Thus, from the perspective of the PSTN 105, the media gateway 155 mayappear to be a class 5 switch. As such, the media gateway 155 may sendand receive both digitized voice and signaling information. The mediagateway 155 may also serve as a bridge between the circuit-switched PSTN105 and an IP data network, such as the Internet 127. As such, it maypermit calls to take place between and among, e.g., VoIP clientsconnected to the packet-switched network 126 and POTS clients connectedto the PSTN 105. This kind of interoperation is transparent to theparticipants in any particular call.

A session border controller 156 may exist between the media gateway 155and the packet-switched network 127. In an embodiment of the invention,one function of the session border controller 156 is to enableconnections between the Enhanced Service Platform 150 and VoIP clientsby, e.g., traversing firewalls, resolving problems related to the use ofnetwork address translation (NAT), and/or routing VoIP calls and/or thepackets that contain voice and/or signaling information as a VoIP callis built up, carried on, and torn down. The session border controller156 may also protect the Enhanced Service Platform 150, e.g., by servingas a network firewall, protecting against denial-of-service attacks,and/or preventing theft of services. These and other functions that maybe implemented by a session border controller 156 are well known in theart.

In an embodiment of the invention, VoIP telephone calls are managed by aVoIP application server 157 as depicted in FIG. 2. The VoIP applicationserver 157 may perform one or more functions, such as, e.g., call andsubscriber management, VoIP signaling according to one or moreprotocols, billing and/or accounting, and/or providing enhanced callingfeatures, such as call waiting and caller ID, to VoIP clients. The VoIPapplication server 157 may work in conjunction with a databasemanagement system 158, such as is well known in the art, to store andretrieve, e.g., subscriber, call, and/or directory information.

The Enhanced Service Platform 150 may provide administrative interfacesto administrators, subscribers, or both, according to an embodiment ofthe invention. Depending on the embodiment of the invention, suchinterfaces may be provided, e.g., in the form of one or more Webapplications, which may be provided through a Web server 159. In anembodiment of the invention, an administrative Web application may besupported by a multiple-tier architecture, such as is well known in theart. In such an architecture, the Web server 159 provides an interface,presented on, e.g., a user's Web browser, to one or more applicationsthat may exist on the VoIP application server 157 and/or anotherapplication server (not pictured). Such an application may also provideinformation hosted by, e.g., the database management system 158 and/or amedia server 160.

The switching functions of the Enhanced Service Platform 150 may bedirected by a media gateway controller 170, according to an embodimentof the invention. The media gateway controller 170 may exchange signalswith the PSTN 150 via the media gateway 155. Such signals may be used,e.g., to build up, maintain, and/or tear down calls over the PSTN 105.The media gateway controller 170 may use these signals to provide otherservices, including but not limited to enhanced services according to anembodiment of the invention.

In an embodiment of the invention, modules within the media gatewaycontroller 170 provide one or more functions of the Enhanced ServicePlatform 150. The configuration of one or more modules according to anembodiment of the invention may vary depending on the configurationand/or capabilities of some or all components of the Enhanced ServicePlatform 150. For example, in an embodiment of the invention, theconferencing module may exist within the VoIP application server 137instead of the media gateway controller 170 as depicted in FIG. 2. In anembodiment of the invention, multiple components of the Enhanced ServicePlatform 150 may include modules involved in providing one or morefunctions.

In this context, “module” is to be taken in a broad sense, and thedescription of embodiments of the invention in terms of one or moremodules is to be regarded as illustrative and in no way limiting.Depending on the embodiment of the invention, any module may includehardware, software, or a combination of the two. Additionally, anymodule may be actual, corresponding to one or more distinct units ofhardware, software, or both, or it may be logical, being considered tobe that hardware, software, or both functioning as described, regardlessof any other function or functions that the corresponding hardware,software, or both may perform- or be capable of performing.

Further, as one skilled in the art will recognize, other configurationsof modules in other embodiments of the invention are equivalent to theconfiguration described herein. A function described herein as performedby a single module may in an embodiment of the invention be performed bytwo or more modules. Conversely, functions described herein as performedby distinct modules may, according to an embodiment of the invention, beperformed by one or more common modules.

FIG. 3 depicts the Enhanced Service Platform 150 within the telephonenetwork 100 according to an embodiment of the invention. In the depictedembodiment of the invention, the Enhanced Service Platform 150 in FIG. 3takes over and expands the role of the interface and control system 125depicted in FIG. 1. The provider 115 may place the Enhanced ServicePlatform 150 between the PSTN 105 and the IP network 126, e.g., tobridge the networks and/or to support the provider's services accordingto an embodiment of the invention.

FIG. 4 is a block diagram illustrating details of a computer system, ofwhich one or more switches, gateways, controllers, or some or all ofthem may be an instance. Computer system 200 includes a processor 205,such as an Intel Pentium® microprocessor or a Motorola PowerPC®microprocessor, coupled to a communications channel 206. The computersystem 200 further includes an input device 207 such as a keyboard ormouse, an output device 208 such as a cathode ray tube display, acommunications interface 209, a data storage device 210 such as amagnetic disk, and memory 215 such as Random-Access Memory (RAM), eachcoupled to the communications channel 206. The communications interface209 may be coupled to a network such as the wide-area network commonlyreferred to as the Internet. One skilled in the art will recognize that,although the data storage device 210 and memory 215 are illustrated asdifferent units, the data storage device 210 and memory 215 can be partsof the same unit, distributed units, virtual memory, etc.

The data storage device 210 and/or memory 215 may store an operatingsystem 210 such as the Microsoft Windows XP, Linux, the IBM OS/2operating system, the MAC OS, or UNIX operating system and/or otherprograms 217. It will be appreciated that a preferred embodiment mayalso be implemented on platforms and operating systems other than thosementioned. An embodiment may be written using JAVA, C, and/or C++language, or other programming languages, possibly using object orientedprogramming methodology.

One skilled in the art will recognize that the computer system 200 mayalso include additional information, such as network connections,additional memory, additional processors, LANs, input/output lines fortransferring information across a hardware channel, the Internet or anintranet, etc. One skilled in the art will also recognize that theprograms and data may be received by and stored in the system inalternative ways. For example, a computer-readable storage medium (CRSM)reader 220 such as a magnetic disk drive, hard disk drive,magneto-optical reader, CPU, etc. may be coupled to the communicationsbus 206 for reading a computer-readable storage medium (CRSM) 221 suchas a magnetic disk, a hard disk, a magneto-optical disk, RAM, etc.Accordingly, the computer system 200 may receive programs and/or datavia the CRSM reader 220. Further, it will be appreciated that the term“memory” herein is intended to cover ail data storage media whetherpermanent or temporary.

FIG. 5 depicts simultaneous ringing 250 according to an embodiment ofthe invention. In step 251, a caller dials, e.g., from an analog phone110 (FIG. 3), a common number that has been assigned to one or moretelephone lines, which may be referred to herein as “participatinglines.” The switch 106 (FIG. 3) connected to the originating phone 110detects that the caller has taken the phone off the hook and recognizes,e.g., the DTMF tones representing the common number. In response, theswitch 106 connects in step 252 (FIG. 5) to the media gateway 155 withinthe Enhanced Service Platform 150. At this point, from the perspectiveof the caller's switch 106, a call has been built up.

The Enhanced Service Platform 150 then attempts to ring participatinglines to complete the call. In an embodiment of the invention, the mediagateway 155 informs the media gateway controller 170 of the incomingcall request. The supervisory module 175 causes retrieval of data, e.g.,from the DBMS 158, for use in deciding how to handle the request. If therequested number is a front end to one or more participating lines, thesupervisory module 175 directs the simultaneous ring module 178 to tryto establish the call.

In an embodiment of the invention, the simultaneous ring module 178causes the Enhanced Service Platform 150 to send a message to the callerin step 253, as it tries to establish the call. The message may be, forexample, “Please hold while [name of subscriber] is located.” In anembodiment of the invention, the Enhanced Service Platform 150 may senda conventional ringing tone to the caller in addition to or instead of amessage. The data comprising the representation of the message and/orthe ringing tone may be, e.g., provided by the media server 160 to themedia gateway 155 at the direction of the simultaneous ring module 178of the media gateway controller 170.

In an embodiment of the invention, the simultaneous ring module 178identifies in step 254 the participating lines that will ring. This step254 commonly involves looking up the participating line, e.g., by theDBMS 158. If the simultaneous ring module 178 determines in the processthat the call has originated from a participating line, then the module178 will exclude that originating line from the group of lines thatring.

For each line that will ring, the simultaneous ring module 178 instructsthe media gateway 155 to signal the corresponding switch 107 to attemptto ring the line. The form and transmission method of the signalcorrespond to the configuration of each signaled switch. For example, aswitch in the PSTN 105 may be signaled to ring via the SS7 network withan Initial Address Message, or IAM. Other types of switches and thecorresponding methods for signaling are also well known in the relevantart.

The media gateway 155 informs the media gateway controller 170 of theresponses to the ring requests. For example, in response to a ringrequest, a switch 107 may return a busy signal. In an embodiment of theinvention, the simultaneous ring module 178 may respond by instructingthe media gateway 155 to stop trying to ring that line.

Alternatively, the switch 107 may signal that the line is engaged, e.g.,on another call. In an embodiment of the invention, the response maydepend on the availability of call waiting on the engaged line. In suchan embodiment, the simultaneous ring module 178 may respond byinstructing the media gateway 155 to send a call-waiting alert to theengaged line if that service is available. If call waiting is notavailable, e.g., because the engaged line does not support it or thesubscriber has disabled it, the simultaneous ring module 178 may respondby instructing the media gateway 155 to stop trying to ring that line.

In an embodiment of the invention, if the Enhanced Service Platform 150determines in step 260 that it cannot ring any participating line, itmay in step 261 transfer the caller directly to a voice mailbox. Thesimultaneous ring module 178 may in that case inform the supervisorymodule 175 that the attempt to set up the call failed. In response, thesupervisory module 175 may direct the media gateway 155 to switch thecall to a voice mailbox provided by, e.g., an application on the mediaserver 160 or the VoIP application server, which may in turn retrieveprompting messages and/or store messages through the DBMS 158.

Depending on the embodiment of the invention, the Enhanced ServicePlatform 150 may also signal the caller that the subscriber is notavailable; for example, the simultaneous ring module 178 may cause themedia gateway 155 to retrieve a voice announcement or a busy signal fromthe media server 160 and then to send it to the caller. Other possibleresponses are known in the art, and, in an embodiment of the invention,the type of response may be configured, e.g., by the subscriber or theprovider.

In step 262, the available participating lines ring. In an embodiment ofthe invention, one or more of the participating lines, e.g., thesubscriber's primary home telephone line, may be designated orconfigured as a preferred line. In such an embodiment, the ringingsignal may be sent to the preferred line or lines shortly before it issent to other participating lines. The head-start given to the preferredline or lines will vary depending on the embodiment of the invention,but will commonly be long enough to increase the likelihood that apreferred line will be answered before a non-preferred line, yet briefenough that the ringing time of the non-preferred line or lines issufficient to allow the line to be answered before the caller hangs up.In an embodiment of the invention, the head-start will be between oneand three seconds.

In an embodiment of the invention, the Enhanced Service Platform 150 mayat step 264 present a challenge when a ringing line is answered. Forexample, a challenge may include a voice announcement, such as, “Thiscall is for [subscriber's name]. Press ‘one’ to accept the call, orpress ‘two’ to reject it.” The simultaneous ring module 178 may effectthis step by directing the media server 160 to send the announcement tothe answered line, e.g., through the media gateway 155, and by directingthe media gateway 155 to monitor the call for responsive DTMF tones. Themedia gateway 155 sends any detected input to the simultaneous ringmodule 178. In step 265, the simultaneous ring module 178 determineswhether the detected input satisfies the challenge. If so, thesimultaneous ring module 178 may direct the supervisory module 175 toput the call through as depicted in step 266, or to disconnect the lineas depicted in step 268.

Alternatively, in an embodiment of the invention, the challenge mayprompt for a PIN, password, or other identifying information. If in step265 the correct response is received, the Enhanced Service Platform 150may put the call through. If no response or an incorrect response isgiven, the Enhanced Service Platform 150 may, depending on theembodiment of the invention and/or its configuration, prompt the user totry again (not shown) or may disconnect the line as shown in step 268.This may be especially valuable when many people share a singletelephone number, such as a home line in, e.g., a college dormitory. Thechallenge may be capable of preventing certain roommates from acceptingcalls intended for other residents.

In an embodiment of the invention, participating lines may beindividually configured to require a successful challenge or to put thecall through to an answered line without a challenge. Depending on theembodiment of the invention, such configuration may be done by a user, asystem administrator, or both.

Once the call has been put through to a participating line, in step 267,the simultaneous ring module 178 causes the media gateway 155 to directthe switches associated with other ringing lines, if any, to stopringing. In an embodiment of the invention, if the call is not answeredafter a set time, the Enhanced Service Platform 150 may, in step 263cause all participating lines to stop ringing and transfer the call to avoice mailbox.

FIG. 6 depicts operation of a seamless jump 280 according to anembodiment of the invention. A managed call is established 285, asdepicted in FIG. 6, in one of two ways. First, a managed call may beestablished by a call to the subscriber's common number in step 250, asdepicted in FIG. 5 in connection with the discussion of simultaneousringing.

The second depicted way to establish a managed call 285 begins at step291 and involves originating a call from a line capable of beingcontrolled by the Enhanced Service Platform 150. For example, in anembodiment of the invention, the provider's switch 107 (FIG. 3) maysupport configuring the lines associated with some or all directlyattached analog phones 112 (FIG. 3) so that the Enhanced ServicePlatform 150 can manage them. According to an embodiment of theinvention, a call is originated in step 291 (FIG. 6) when the callertakes a phone attached to a controlled line off the hook.

The caller then enters a service code at step 292, e.g., using the DTMFkeys of the analog phone 112 a. In an embodiment of the invention, theservice code may be, for example “*1#”, and indicates to the provider'sswitch 107 that this call is to be managed by the Enhanced ServicePlatform 150. Such management may be brought about, according to anembodiment of the invention, by, e.g., establishing a circuit from theanalog phone 112 a, to the provider's switch 107, through the PSTN 105,to the media gateway 155 within the Enhanced Service Platform 150.

The caller then dials the destination number in step 293 to place thecall. At the direction of the seamless jump module 179, the mediagateway 155 may detect and decode the DTMF tones representing thedestination number and, at the direction of the media gateway controller170, may respond by attempting to put the call through normally. Oncethe ringing destination is answered, then the managed call may beconsidered to have been established at step 294.

Alternative embodiments of the invention may include other methods forestablishing a managed call instead of or in addition to one or both ofthe methods depicted in FIG. 6. For example, in an embodiment of theinvention, a switch (possibly including a third-party switch 106), VoIPgateway, or other device or devices may be programmed and/or configuredto place any call from one or more attached lines under the managementof the Enhanced Service Platform 150. Such an embodiment of theinvention may permit a caller to enter a code to except the call fromsome or all management features provided by the Enhanced ServicePlatform 150.

In an embodiment of the invention, the media gateway 155 continues tomonitor a managed call to detect entry of DTMF tones that signal aseamless jump. The Enhanced Service Platform 150 may achieve this by,e.g., keeping the media gateway 155 in the circuit for the duration ofthe call, even when doing so extends the length of the circuit. Forexample, a call from a third-party to a subscriber's analog telephoneline might, according to the prior art, be carried from the thirdparty's switch 106 (FIG. 3), through the PSTN 105 (FIG. 3), and then tothe provider's own switch 107 (FIG. 3). In an embodiment of theinvention, the circuit may proceed from the third-party's switch 106,through the PSTN 105, through the media gateway 155, back to the PSTN105, and then to the provider's switch 107. (This configuration issometimes referred to in the art as a “trombone” or “hairpin”.)

In an embodiment of the invention, the media gateway 155 is configuredto monitor managed calls continuously for DTMF tones, decoding anydetected tones and reporting them to, e.g., the supervisory module 175in the media gateway controller 170. In such an embodiment, a subscribermay signal a jump by entering, e.g., a code beginning with a servicecode “**”, which may be followed by an ID code of additional keys toindicate the desired destination for the jump. For example, in anembodiment of the invention, the service code and ID code “**C” maytransfer a call to the subscriber's cellular phone, the code “**H” maytransfer the call to the subscriber's home phone, the code “**W” maytransfer the call to the subscriber's work phone, the code “**M” maytransfer the call to the subscriber's mobile wireless (e.g., WiFi orWiMax) phone, code “**P” may transfer the call to the subscriber's VoIPphone, and the code “***” followed by any phone number may transfer thecall to that line. Another possibility is that the code “**V” maytransfer the call directly to the subscriber's voice mailbox. Accordingto an embodiment of the invention, pressing the “#” key may cancel ajump in progress. For convenience, the DTMF tones may be muted after thedetection of the service code, e.g., “**”. Upon detecting such a code,which indicates a seamless jump, the supervisory module 175 may forwardthe code to the seamless jump module 179 for execution of the requestedjump.

When, at step 300, the appropriate module within the media gatewaycontroller 170 detects a code indicating a seamless jump, the seamlessjump module 179 causes the media gateway 155 to send a ring signal tothe jump destination, as step 301. Although not shown, the seamless jumpmodule 179 may also send a caller ID number to the jump destination. Inone embodiment, the caller ID number may be the common number. Inanother embodiment, the caller ID number may be the native number of theother party. While the jump destination is ringing in step 301, theseamless jump module 179 may direct the media gateway 155 to causeringing tones or another signal to be sent to some or all of the linesstill on the call, possibly by retrieving a representation of the signalfrom the media server 160 (FIG. 2).

Depending on the embodiment of the invention and/or the configuration,the Enhanced Service Platform 150 may present a challenge to thedestination when it is answered, as discussed in connection withsimultaneous ringing 250, depicted in FIG. 5. Upon a successful responseto the challenge, or upon answer, if no challenge is made, the seamlessjump module 179 may at step 302 signal the supervisory module that thecall to the new line has been established, and the supervisory modulemay consequently direct the media gateway 155 to terminate the call tothe old destination at step 303 without farther input from any party. Inone embodiment, the connection to the old destination may be maintaineduntil a connection with the jump destination has been made. For example,if the challenge is not met, then the connection with the olddestination may be maintained. In step 304, the call continues from thispoint, and, according to an embodiment of the invention, further jumpsmay be made.

FIG. 7 depicts establishment 320 of a group call, also referred to as aconference call, in accordance with an embodiment of the invention. Thecall begins when a subscriber calls a designated group call directinward dial (“DID”) number in step 325, which may connect the caller tothe Enhanced Service Platform 150 at the media gateway 155. Thesupervisory module 175 in such an embodiment recognizes that newincoming call has specified a group call DID as the destination anddirects the conference call module 180 to handle the request.

Certain telephone lines, which may be participating lines as that termwas used in connection with simultaneous ringing, above, may beconsidered “defined numbers,” which may enter a conference withoutfurther authentication. In step 326, the conference call modulo 180retrieves the defined numbers associated with the current DID, e.g.,from the DBMS 158, and compares the telephone number associated with theincoming call with the retrieved defined numbers. If the incoming numberis found, the conference call module 180 proceeds to step 330 to try toput the call through.

If die call did not originate from a defined number, the conference callmodule 180 in step 327 directs the media gateway 155 to prompt thecaller, e.g., with a prompt message provided by the media server 160, toenter a pass code. The media gateway 155 detects the pass code, e.g., bydetecting incoming DTMF tones, and sends the entered code to theconference call module 180 for validation. In step 328, the conferencecall module 180 determines whether the entered code is the password. Ifso, the conference call module 180 proceeds to step 330 to try to putthe call through. It not, then the conference call module 180 directsthe supervisory module 178 to disconnect the call.

In step 330, the conference call module 180 checks to see if aconference associated with the DID is already in progress. If such aconference call exists, the conference call module directs the mediagateway 155 to add the caller to the conference and, at step 332,notifies the supervisory module that the call has been established.

If no such conference call is found, the conference call module 180creates one. In an embodiment of the invention, the conference callmodule 180 sets up the call by allocating and/or initializing one ormore data structures representing the call and/or directing thesupervisory module 175 to do likewise, and then by identifying the othernumbers that are to participate in the group call, e.g., by requestingconfiguration information from the DBMS 158. Then, in step 331, theconference call module directs the media gateway 155 to attempt to callthe other participating numbers. As participating numbers are answered,the media gateway 155 signals the conference call module 180, which addsthem to the conference, possibly, according to an embodiment of theinvention, after requiring the answered line to meet a challenge such asthat described in connection with simultaneous ringing 250 as depictedin FIG. 5.

In an embodiment of the invention, the Enhanced Service Platform 150provides features that are accessible to the participants in aconference call. For example, according to an embodiment of theinvention, one or more new participants may be added to a conferencecall in progress, e.g., by a current participant's entering one or moreDTMF tones, which the media gateway 155 may detect and which theconference call module 180 and/or one or more other modules within themedia gateway controller 170 may interpret and then carry outcorresponding commands. Seamless jumping 280 (FIG. 6) may also beavailable to one or more participants in a conference call according toan embodiment of the invention.

Although the embodiments above have been described using a mediagateway, one skilled in the art will recognize that the embodiments canbe implemented using software on any switch in the network 100, e.g., onany one of the class 5 switches or on a class 4 switch.

The foregoing description of the preferred embodiments of the presentinvention is by way of example only, and other variations andmodifications of the above-described embodiments and methods arepossible in light of the foregoing teaching. Although the network sitesare being described as separate and distinct sites, one skilled in theart will recognize that these sites may be a part of an integral site,may each include portions of multiple sites, or may include combinationsof single and multiple sites. The various embodiments set forth hereinmay be implemented utilizing hardware, software, or any desiredcombination thereof. For that matter, any type of logic may be utilizedwhich is capable of implementing the various functionality set forthherein. Components may be implemented using a programmed general purposedigital computer, using application specific integrated circuits, orusing a network of interconnected conventional components and circuits.Connections may be wired, wireless, modem, etc. The embodimentsdescribed herein are not intended to be exhaustive or limiting. Thepresent invention is limited only by the following claims.

What is claimed is:
 1. A method, executed by a computerized telephoneservices device, for providing enhanced telephone services comprising:recognizing, by the computerized telephone services device, tonesgenerated by an originating telephone line, the originating telephoneline being associated with a calling telephone number, wherein the tonesare associated with a common number assigned to two or more telephonelines of the called party; determining, by the computerized telephoneservices device, whether one of the two or more telephone lines of thecalled party is in use; determining, by the computerized telephoneservices device, whether the calling telephone number associated withthe originating telephone line is included in a set of defined telephonenumbers permitted to connect to the in-use telephone line of the calledparty without requiring authentication of the calling party; andestablishing, by the computerized telephone services device, a telephoneconnection between the originating telephone line and the in-usetelephone line of the called party if the set of defined telephonenumbers includes the calling telephone number.
 2. The method of claim 1,wherein determining whether the calling telephone number associated withthe originating telephone line is included in a set of defined telephonenumbers includes searching a database management system.
 3. The methodof claim 1, further comprising, upon determining that the set of definedtelephone numbers does not include the calling telephone number:sending, by the computerized telephone services device, a challenge tothe originating telephone line; recognizing, at the computerizedtelephone services device, receipt of a response to the challenge by theoriginating telephone line; and determining, at the computerizedtelephone services device, whether the received response satisfies thechallenge.
 4. The method of claim 3, wherein the challenge includes aprompt to enter a pass code.
 5. The method of claim 3, furthercomprising determining, by the computerized telephone services device,that the challenge is not satisfied and therefore not establishing thetelephone connection.
 6. The method of claim 1, further comprising, upondetermining that the set of defined telephone numbers does not includethe calling telephone number and that one of the two or more telephonelines of the called party is in use: sending, by the computerizedtelephone services device, a challenge to the originating telephoneline; recognizing, at the computerized telephone services device,receipt of a response to the challenge by the originating telephoneline; and determining, at the computerized telephone services device,whether the received response satisfies the challenge.
 7. The method ofclaim 6, further comprising, upon determining that the challenge issatisfied, establishing, by the computerized telephone services device,the telephone connection between the originating telephone line and thein-use telephone line.
 8. The method of claim 1, further comprising,upon determining that none of the telephone lines of the called party isin use: establishing, by the computerized telephone services device, atelephone connection between the originating telephone line and one ofthe telephone lines of the called party.
 9. The method of claim 8,wherein establishing the telephone connection includes allocating and/orinitializing, at the computerized telephone services device, one or moredata structures representing the connection.
 10. The method of claim 3,further comprising: receiving, at the computerized telephone servicesdevice in response to the challenge, a pass code, the pass code beingassociated with the originating telephone line, the pass code excludingthe calling telephone number; and establishing, by the computerizedtelephone services device, the telephone connection upon validation ofthe pass code.
 11. The method of claim 6, further comprisingdetermining, by the computerized telephone services device, that thechallenge is not satisfied and therefore not establishing the telephoneconnection.
 12. The method of claim 6, further comprising establishing,by the computerized telephone services device, the telephone connectionupon determining that the challenge is satisfied.
 13. The method ofclaim 1, further comprising: recognizing, at the computerized telephoneservices device, upon having established the telephone connection, acommand to establish an additional participant connection between thein-use telephone line and an additional participant line associated withan additional participant number and with an additional participant;determining, at the computerized telephone services device, whether theset of defined telephone numbers includes the additional participantnumber; and establishing, by the computerized telephone services device,the additional participant connection upon having determined that theset of defined telephone numbers includes the additional participantnumber.
 14. The method of claim 1, further comprising: recognizing, atthe computerized telephone services device, upon having established thetelephone connection, a command to establish an additional participantconnection between the in-use telephone line and an additionalparticipant line associated with an additional participant number andwith an additional participant; sending, by the computerized telephoneservices device, a challenge to the additional participant line; andwaiting, by the computerized telephone services device, for theadditional participant to satisfy the challenge.
 15. The method of claim14, further comprising establishing, by the computerized telephoneservices device, the additional participant connection upon theadditional participant satisfying the challenge.
 16. The method of claim14, further comprising determining, by the computerized telephoneservices device, that the challenge is not satisfied and therefore notestablishing the additional participant connection.